const http = require("http");
const fs = require("fs");

// 路由：根据不同的url或状态，决定执行不同的功能
    // 数据请求（非文件）：可以在url的路径部分携带：/api
        // http://localhost:3000/api
        // 要商品数据：
            // http://localhost:3000/api?type=getGoods
        // 执行登录功能
            // http://localhost:3000/api?type=register
        // 执行登录功能
            // http://localhost:3000/api?type=login
    // 非数据请求（文件）：
        // http://localhost:3000/abc.html


// 创建服务
const serverObj = http.createServer((req, res)=>{
    // 定义服务功能
    // 只有要有人访问了这台服务器，就会执行该服务功能
    // 谁来了：前端发送过来的信息：req，请求对象，前端到后端
    // console.log(req.url)

    // 根据来源，携带信息，实现的约定，来判断：来干什么

    console.log(req.url)

    if(req.url.includes("/api")){
        dataHandle(req, res);
    }else{
        static(req, res);
    }
    
    // // 给他带点什么东西回去：res，响应对象，后端到前端
    // res.write("hello node server");
    // res.end();
})



// 挂载到指定端口
serverObj.listen(3000, ()=>{
    console.log("服务器开启成功...")
});


function dataHandle(req,res){
    // 数据类功能
    // ...接收到查询数据，判断具体执行什么功能
    // ...
    res.write("this is data handle");
    res.end();
}

function static(req, res){
    fs.readFile("./www" + req.url, (err, data)=>{
        if(err){
            res.write("404");
            res.end();
        }else{
            res.write(data);
            res.end();
        }
    })
}
